Grid processing techniques enable greater processing opportunities by sharing and coordinating the resources of multiple computers that comprise a grid. As such, grid computing allows organizations to optimize computing and data resources by pooling their respective resources together to handle or balance workloads. For instance, a grid computing system may be used to verify the components of a microchip design. Verification assures that each of the millions of transistors and registers of a design performs its required function. Design verification typically consumes about seventy percent of computing time and resources of a design project. In some cases, the volume of components employed in a typical microchip design cannot be practically evaluated without the pooled computer resources of a grid.
Where a business requiring such computing power does not have its own onsite computing grid, that business will often contract with a company having the needed resources. Continuing with the above example, it may be cost ineffective for a microchip design company to own and maintain its own computing grid when sufficient grid resources are commercially available for a reasonable fee. As such, the chip design company has great incentive to submit their design or other project to a provider operating a grid computing resource.
Despite their economic practicality, conventional grid submission practices can present certain inconveniences. For instance, to maintain integrity and provide a secure environment, a grid may not be accessible from the Internet. Most conventional submission practices must consequently be accomplished manually. For instance, a chip designer seeking verification of a design must mail applicable design parameters to a computer grid provider. This design data may be submitted on a disk or may be sent as an attachment to an electronic mail transmission. In either case, an administrator having access to the provider computer grid must open and evaluate the design data to determine the most appropriate grid resources that should be applied to accomplish the task. That is, conventional grid submission practices require provider personnel to acknowledge the receipt of an email or postal delivery, and to forward it on to an applicable party or network. For instance, an administrator may manually evaluate code or message text to determine that one set of submitted data needs to be compiled by a first program executed by the grid, while a second set of data needs a simulation program.
Conventional processes can also render the grid computing resource vulnerable to corrupt data submissions. For instance, there are few regulated safeguards in place to assure that only legitimate data prepared by qualified programmers is submitted for execution by a grid resource. Improperly formatted, viral or otherwise corrupted data could impair susceptible and valuable grid processes and equipment. Consequently, it is incumbent upon the administrator to take steps to manually verify that the submitted data is properly formatted and does not contain a virus. These manual processes can be tedious, inefficient and error prone.
Known grid submission practices present additional privacy and data integrity concerns. For instance, access granted to grid users often allows them to view the work of other users. Different programs running concurrently on the grid may even interfere with each other. Conventional grid partitioning can limit a customer's access to a specific set of grid systems, but this partitioning practice requires grid administrators to manually sanitize the systems when allocating them from one user to another. This sanitation can include the costly and cumbersome tasks of deleting all the data on a hard drive of a grid computer and reinstalling an operating system. Partitioning also results in underutilization of resources. Consequently, periods may occur where one customer is not utilizing all their dedicated resources, while another customer experiencing a peak workload is left with inadequate resources. Again, such scenarios must be manually addressed by grid administrators. For at least the above stated reasons, there exists a need for an improved manner of accessing remotely located grid computing resources.